package com.xinzhilibrary.controller;

import com.xinzhilibrary.model.OrderInfo;
import com.xinzhilibrary.model.Result;
import com.xinzhilibrary.service.GoodsInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin
public class GoodsInfoController {
    @Autowired
    private GoodsInfoService goodsInfoService;

    /**
     * 查询所有商品
     * @param startNum  //起始行数
     * @param lineNum   //每页行数
     * @param goodsName //商品名称
     * @param token     //用户token
     * @return Result 类型
     */
    @PostMapping("/selectAllGoods")//所有人共享   +根据商品价格筛选
    public Result selectAllGoods(int startNum, int lineNum, String goodsName,int goodsType, @RequestHeader("Authorization") String token) {
        return goodsInfoService.selectAllGoods(startNum, lineNum, goodsName,goodsType, token);
    }

    /**
     * 提交订单
     * @param orderInfo //商品信息
     * @param token     //用户token
     * @return Result 类型
     */
    @PostMapping("/insertOrderInfo")  //新增购物车商品订单信息接口
    public Result insertOrderInfo(@RequestBody OrderInfo orderInfo, @RequestHeader("Authorization") String token) {
        return goodsInfoService.insertOrder(orderInfo, token);
    }

    /**
     * 通过用户ID查看购物车内容
     * @param orderGoodsUID //用户ID
     * @param token         //用户token
     * @return Result 类型
     */
    @PostMapping("/selectOrderByUserId")  //通过用户ID查看购物车内容
    public Result selectOrderByUserId(int orderGoodsUID, @RequestHeader("Authorization") String token) {
        return goodsInfoService.selectOrderByUID(orderGoodsUID, token);
    }

    /**
     * 查看所有订单
     * @param userId //用户ID
     * @param token  //用户token
     * @return Result 类型
     */
    @PostMapping("/selectAllOrder")  //查看历史记录
    public Result selectAllOrder(int userId, @RequestHeader("Authorization") String token) {
        return goodsInfoService.selectAllOrder(userId, token);
    }

}
